var express = require('express'); 
var app = express();

var server = require('http').createServer(app);
var io = require('socket.io')(server);
var num = 0
var userdata = []
var roomid = 1
var alldata = []
io.on('connection',function(socket){
	socket.on('startPi',function(data){
		var id = '房间'+roomid
		if(userdata.length>0){
		for(let i of userdata){
			if(i.name==data.name){
				console.log('名字重复')
				return
			}
		}		
				socket.join(id)
				num++
		        userdata.push(data)
		       
			
		}else{
			 socket.join(id)
			num++
		    userdata.push(data)
		    
		}
		console.log(num)
		if(num==2){
			num = 0
			roomid++
			userdata.push(id)
			io.sockets.in(id).emit('finshPi',userdata)
			userdata = []
			
		}
	})
	socket.on('leftmove',function(data){
		console.log(data)
		io.sockets.in(data.roomid).emit('doleft',data)
	})
	socket.on('rightmove',function(data){
		io.sockets.in(data.roomid).emit('doright',data)
	})
	socket.on('topmove',function(data){
		io.sockets.in(data.roomid).emit('dotop',data)
	})
	socket.on('downmove',function(data){
		io.sockets.in(data.roomid).emit('dodown',data)
	})
	socket.on('fire',function(data){
		io.sockets.in(data.roomid).emit('dofire',data)
	})
	
	
	socket.on('join',function(data){
		var bo = false
		console.log(alldata)
//		console.log(data)
		for(var i=0;i<alldata.length;i++){
//			console.log(alldata[i][])
			if(alldata[i][0].name==data[0].name){
				console.log('名字重复')
				bo = true
				alldata[i] = data				
			}
		}
		
		if(!bo){
			alldata.push(data)			
		}
		
//		socket.broadcast.emit('dojoin2',data)
	    io.emit('dojoin',alldata)
	    
	})
	
	socket.on('dtop',function(data){
//		console.log(data)
		for(var i=0;i<alldata.length;i++){
//			console.log(alldata[i][])
			if(alldata[i][0].name==data.data[0].name){
				
				alldata[i] = data.data				
			}
		}
		io.emit('dotop',{data:alldata,name:data.data[0].name,index:data.index})
	})
	
	socket.on('dleft',function(data){
//		console.log(data)
		for(var i=0;i<alldata.length;i++){
//			console.log(alldata[i][])
			if(alldata[i][0].name==data.data[0].name){
				
				alldata[i] = data.data				
			}
		}
		io.emit('doleft',{data:alldata,name:data.data[0].name,index:data.index})
	})
	
	socket.on('dright',function(data){
//		console.log(data)
		for(var i=0;i<alldata.length;i++){
//			console.log(alldata[i][])
			if(alldata[i][0].name==data.data[0].name){
				
				alldata[i] = data.data				
			}
		}
		io.emit('doright',{data:alldata,name:data.data[0].name,index:data.index})
	})
	
	socket.on('ddown',function(data){
//		console.log(data)
		for(var i=0;i<alldata.length;i++){
//			console.log(alldata[i][])
			if(alldata[i][0].name==data.data[0].name){
				
				alldata[i] = data.data				
			}
		}
		io.emit('dodown',{data:alldata,name:data.data[0].name,index:data.index})
	})
	
	
	socket.on('dirl',function(data){
//		console.log(data)
		for(var i=0;i<alldata.length;i++){
//			console.log(alldata[i][])
			if(alldata[i][0].name==data.data[0].name){
				
				alldata[i] = data.data				
			}
		}
		io.emit('dodirl',{data:alldata,name:data.data[0].name})
	})
	
	socket.on('dirr',function(data){
//		console.log(data)
		for(var i=0;i<alldata.length;i++){
//			console.log(alldata[i][])
			if(alldata[i][0].name==data.data[0].name){
				
				alldata[i] = data.data				
			}
		}
		io.emit('dodirr',{data:alldata,name:data.data[0].name})
	})
	
	socket.on('dird',function(data){
//		console.log(data)
		for(var i=0;i<alldata.length;i++){
//			console.log(alldata[i][])
			if(alldata[i][0].name==data.data[0].name){
				
				alldata[i] = data.data				
			}
		}
		io.emit('dodird',{data:alldata,name:data.data[0].name})
	})
	
	socket.on('dirt',function(data){
//		console.log(data)
		for(var i=0;i<alldata.length;i++){
//			console.log(alldata[i][])
			if(alldata[i][0].name==data.data[0].name){
				
				alldata[i] = data.data				
			}
		}
		io.emit('dodirt',{data:alldata,name:data.data[0].name})
	})
	
	
	socket.on('recl',function(data){
//		console.log(data)
		for(var i=0;i<alldata.length;i++){
//			console.log(alldata[i][])
			if(alldata[i][0].name==data.data[0].name){
				
				alldata[i] = data.data				
			}
		}
		io.emit('dorecl',{data:alldata,name:data.data[0].name})
	})
	
	socket.on('recr',function(data){
//		console.log(data)
		for(var i=0;i<alldata.length;i++){
//			console.log(alldata[i][])
			if(alldata[i][0].name==data.data[0].name){
				
				alldata[i] = data.data				
			}
		}
		io.emit('dorecr',{data:alldata,name:data.data[0].name})
	})
	socket.on('recd',function(data){
//		console.log(data)
		for(var i=0;i<alldata.length;i++){
//			console.log(alldata[i][])
			if(alldata[i][0].name==data.data[0].name){
				
				alldata[i] = data.data				
			}
		}
		io.emit('dorecd',{data:alldata,name:data.data[0].name})
	})
	socket.on('rect',function(data){
//		console.log(data)
		for(var i=0;i<alldata.length;i++){
//			console.log(alldata[i][])
			if(alldata[i][0].name==data.data[0].name){
				
				alldata[i] = data.data				
			}
		}
		io.emit('dorect',{data:alldata,name:data.data[0].name})
	})
	
	
	socket.on('recbody',function(data){
//		console.log(data)
		for(var i=0;i<alldata.length;i++){
//			console.log(alldata[i][])
			if(alldata[i][0].name==data.name){
				
				alldata.splice(i,i+1) 				
			}
		}
		io.emit('dorecbody',{data:alldata,name:data.name})
	})
	
	socket.on('recbian',function(data){
//		console.log(data)
		for(var i=0;i<alldata.length;i++){
//			console.log(alldata[i][])
			if(alldata[i][0].name==data.name){
				
				alldata.splice(i,i+1) 				
			}
		}
		io.emit('dorecbian',{data:alldata,name:data.name})
	})
	
	socket.on('sdan',function(){
		io.emit('setdan',{x:4,y:4})
	})
	
	
	socket.on('dan',function(data){
		console.log(data)
		io.emit('dosetdan',data)
	})
})

app.use(express.static('./view'))




server.listen(5000)
